package guzb.cnblogs.classloader.thirdapi.v1;

/**
 * 第三方Jar包Api的封装接口 (针对同一第三方的第1个jar包)
 *
 * 这个接口用于在主程序与通过独立 ClassLoader 加载的第三方Jar包程序间进行桥接，便于主程序的代码书写。
 *
 * 因为通过 ClassLoader 加载的类，由于 ClassLoader 的隔离，只能通过 Reflection Api 进行调用，
 * 当调用参数或返回值是一个复杂的结构体时，业务代码的书写将变成十分困难、冗长和极难阅读
 *
 * @author 顾志兵
 * @mail ipiger@163.com
 * @since 2024-05-20
 */
public interface DeviceFactoryV1 {

    /**
     * 获取设备信息
     * @param deviceNo 设备编号
     */
    DeviceBasicInfoV1 getDeviceInfo(String deviceNo);
    
}
